package 二叉树;

import java.util.LinkedList;
import java.util.Queue;

public class No104二叉树的最大深度 {

    /**
     * 给定一个二叉树，找出其最大深度。
     *
     * 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
     *
     * 说明: 叶子节点是指没有子节点的节点。
     */

    int max=0;
    public int maxDepth(TreeNode root) {

        if(root==null)
            return 0;

        dg(root,1);

        return max;
    }

    private void dg(TreeNode node,int deep){
        if(node==null)
            return;
        if(node.right==null&&node.left==null)
            max=Math.max(max,deep);
        dg(node.left,deep+1);
        dg(node.right,deep+1);
    }

}
